package com.hiwan.system.util;

import com.hiwan.platform.utils.SpringContextHolder;
import com.hiwan.system.dao.dept.DeptDao;
import com.hiwan.system.pojo.DeptInfo;
import com.hiwan.system.pojo.OrgInfo;

/***
 * @time 2016-01-15
 * @author 李仕波
 */
public class DeptCacheUtils {

	private static DeptDao deptDao = SpringContextHolder.getBean(DeptDao.class);
	public static final String DEPT_CACHE = "deptCache";
	/**
	 * 根据ID获取机构信息
	 * @param id
	 * @return 取不到返回null
	 */
	public static DeptInfo get(String deptId){
		DeptInfo deptInfo = (DeptInfo)CacheUtils.get(DEPT_CACHE, deptId);
		if (deptInfo ==  null){
			deptInfo = deptDao.selectDeptInfo(deptId);
			if (deptInfo == null){
				return null;
			}
			CacheUtils.put(DEPT_CACHE,deptId,deptInfo);
		}
		return deptInfo;
	}
	public static String  getDeptName(String deptId){
		return get(deptId).getDeptName();
	}
	/**
	 * 清除所有机构缓存
	 */
	public static void clearAllOrgCache(){
		CacheUtils.removeCache(DEPT_CACHE);
	}
	/**
	 * 清除指定机构缓存
	 * @param user
	 */
	public static void clearCache(OrgInfo orgInfo){
		CacheUtils.remove(DEPT_CACHE, orgInfo.getOrgId());
	}
	
	
}
